package edu.upn.sowad.proyecto.dao;

import edu.upn.sowad.proyecto.entidades.eMoneda;
import java.util.*;
import java.sql.*;

public class dMoneda 
{
    private static eMoneda Construir(ResultSet tabla) throws Exception {
        eMoneda nuevo = new eMoneda();
        nuevo.setIdMoneda(tabla.getInt("IdMoneda"));
        nuevo.setDescripcion(tabla.getString("Descripcion"));
        return nuevo;
    }

    public static int InsertarCategoria(eMoneda objCategoria) throws Exception {
        Connection cnn = Conexion.getConexion();
        try {
            PreparedStatement stm = cnn.prepareStatement("insert into Moneda(Descripcion)"
                    + "values(?)");
            stm.setString(1, objCategoria.getDescripcion());
            //stm.setBoolean(2, objProducto.getEstado());
            int cont = stm.executeUpdate();
            return cont;
        } catch (Exception e) {
            throw e;
        } finally {
            cnn.close();
        }
    }

    public static Vector<eMoneda> ListaMoneda() throws Exception {
        Connection cnn = Conexion.getConexion();
        try {
            Vector<eMoneda> lista = new Vector<eMoneda>();
            Statement stm = cnn.createStatement(); //Relacionarme con la base de datos
            ResultSet tabla = stm.executeQuery("select * from Moneda order by Descripcion");
            while (tabla.next()) {
                lista.add(Construir(tabla));
            }
            return lista;
        } catch (Exception e) {
            throw e;
        } finally {
            cnn.close();
        }

    }

    public static eMoneda BuscarCategoriaxID(int id) throws Exception {
        Connection cnn = Conexion.getConexion();
        try {
            eMoneda c = new eMoneda();
            Statement stm = cnn.createStatement();
            ResultSet tabla = stm.executeQuery("Select * from Moneda where IdMoneda=" + id);
            if (tabla.next()) {
                c = Construir(tabla);
            }
            return c;
        } catch (Exception e) {
            throw e;
        } finally {
            cnn.close();
        }
    }
}